package JavaSE.Port;

/**
 * 接口
 * interface来修饰
 * 成员方法只能是抽象方法---默认public abstract--所以可省略
 *成员默认常量  --public static final修饰--可省略
 *如果想要具体实现---default
 * 接口不能实例化
 * 普通类通过implements 来实现接口
 *接口本身可发生向上转型,多态
 * 继承一个类实现多个接口   implements+..+..+
 * 接口间的继承  接口接口之间  extends[扩展]---interface C extends A,B{}-----代表C拓展A和B的功能
 */
interface IShape{
    //成员变量
    //public static final int a = 10;
    int a = 10;
    int b = 20;

    //成员方法
    //public abstract void func();
    default void func(){
        System.out.println("具体实现---默认的方法!");
    }

    void draw();

    public static void staticFunc(){
        System.out.println("静态方法!");
    }

}

class A implements IShape{
    @Override
    public void draw() {
        System.out.println("嘿嘿");
    }

    @Override
    public void func() {
        System.out.println("吼吼");
    }
}

public class port_ {

    public static void drawMap(IShape iShape){
        iShape.draw();
        iShape.func();
    }

    public static void main(String[] args) {

        A a =new A();
        drawMap(a);
        IShape.staticFunc();
    }
}
